# X68K_MEM.TXT - X680x0/Human68k Memory Glossary+FAQ # Copyright (C) 2000 Tachibana Eriko # # This text file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This text file is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this text file; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA <<< X680x0/Human68k Memory Glossary+FAQ >>> ==== Read First ====================================================== This text file contains an X680x0/Human68k memory-related glossary and a set of "Frequently Asked Questions and Their Answers". However, this document only contains information which does not exceed the current knowledge and interests of the author; therefore it does not contain all of the technical terms and questions which exist. Also, there is no warranty for this information; you should use it at your own risk. This text file is not a program, but the copyright and distribution provisions comply with GNU General Public License version 2 or above. Please inform Tachibana in case there is an error or if you would like to add terms or questions. Author-Producer: Tachibana Eriko (Tachibana Eririn) 2000-01-19 release 1.0 Tachibana Eriko E-mail: ======================================== ==== Glossary ======================================================== Main RAM DMA transfer is possible but slow when using the memory on the main unit of the X680x0, the memory installed in the memory expansion slot, or the memory installed in the I/O expansion slot. RAM Expansion DMA transfer is possible with the expansion memory installed in the I/O expansion slot of the X68000 XVI or Compact XVI, but it is extremely slow. Etymologically, we can think that it is located in the last spot of the address and the I/O expansion slot is located at the back of the main unit (unverified). But it being slow does not make me happy. Local Memory Bus-type of local memory as well as memory installed on every type of accelerator board. Fast, but no DMA transfer. However, the 040Excel allows DMA transfer when it is upgraded. Also, with the JUPITER-X, upgrading the main unit is necessary but only the DRAM allows DMA transfer. Types of local memory below: 060turbo SIMM 040Excel SDRAM Xellent30 (s|PRO) LocalSRAM TS-6BE16 (high memory for 68030) JUPITER-X DRAM / SRAM High Memory Memory allocated to the logical addresses $01000000 and above. It's basically local memory which cannot execute DMA transfers. The main RAM pushed in the high memory area by 060turbo.sys can execute DMA transfer on a hardware-level, but since logical addresses and physical addresses differ, this cannot be achieved. Types of high memory below: 060turbo SIMM Main RAM pushed in the high memory area by 060turbo.sys SDRAM allocated to the high memory area of 040Excel TS-6BE16 (high memory for 68030) SRAM and DRAM in the expansion mode of JUPITER-X Virtual memory of swapper.sys LocalSRAM Xellent30 (s|PRO) LocalSRAM. Fast local memory, but DMA transfer is impossible. The volume is 256KB and the allocated physical address switches between $00BC0000~ and $00FC0000~. Can also be non-allocated. SDRAM SDRAM is installed in a socket on the 040Excel board. Fast local memory, allocated to the part of the internal RAM which is not installed and to the high memory area. However, when the main unit is upgraded, all the main RAM switches over to SDRAM and DMA transfer becomes possible (even if you upgrade the high memory area, DMA transfer remains impossible). SRAM There are many types of SRAM, but when people say SRAM they usually mean Type 1. Type 4 is probably something different. 1) $00ED0000 ~ $00ED3FFF battery backup SRAM 2) Xellent30 (s|PRO) LocalSRAM 3) JUPITER-X SRAM 4) Sprite VRAM * * (I heard that when speed is needed, SRAM is used, but I cannot prove it. I need more information.) ==== FAQ ============================================================= Q. What's the difference between local memory and high memory? A. The bus-type local one is local memory, the one with a high ranked address is high memory. Therefore, local memory is not equal to high memory. Q. Can local memory execute DMA transfer? A. It can be enabled by upgrading the main unit. Specifically, 040Excel SDRAM and JUPITER-X DRAM can allow DMA transfer when upgrading the main unit. Q. Can high memory execute DMA transfer? A. It's not possible on a hardware basis. On a software basis, you can emulate a quasi-DMA transfer capacity by hooking an IOCS call and using an intermediate buffer in the main RAM. Also, at the time of writing, I think you can also use an intermediate buffer in the main RAM in the same way by setting MMU and by monitoring the access to the DMAC register. Q. Can you read a disk with DOS calls in local memory or high memory? A. When reading from disk, there are instances in which DMA transfer is not used. Also, when using DMA transfer, it becomes possible when a patch has been applied to the OS or IOCS. When installing and setting up correctly 060turbo.sys, the OS gets patched and it becomes possible. Also, when installing JUPITER-X, IOCS gets patched and it becomes possible. Q. Can you read a disk by a device driver direct call in local memory or high memory? A. When reading from disk, there are instances in which DMA transfer is not used. Also, when using DMA transfer, it becomes possible when a patch has been applied to IOCS. When installing and correctly setting up 060turbo.sys, SCSI IOCS gets patched and therefore it becomes possible for the SCSI device. Also, when installing JUPITER-X, IOCS gets patched and it becomes possible. Q. Can you read a disk with IOCS in local memory or high memory? A. When reading from disk, there are instances in which DMA transfer is not used. Also, when using DMA transfer, it becomes possible when a patch has been applied to IOCS. When installing and correctly setting up 060turbo.sys, SCSI IOCS gets patched and therefore it becomes possible for the SCSI device. Also, when installing JUPITER-X, IOCS gets patched and it becomes possible. ==== Change History ================================================== 2000-01-19 (Wednesday) Tachibana Eriko * Release 1.0. * X68K_MEM.TXT: new text. [EOF]